package com.tbfs.common;

import java.util.List;

public interface IBaseDao{
	/**
	 * 插入的方法。
	 * @param record
	 * @param sql
	 */
	public void insert(Object param);
	
	/**
	 * 更新的方法，更新对象的每一个值。只供子类调用。
	 * @param record
	 * @param sql
	 * @return
	 */
	public int updateByPrimaryKey(Object param);
	
	/**
	 * 更新的方法，只更新对象中不为空的值 ,只供子类调用。
	 * @param record
	 * @param sql
	 * @return
	 */
	public int updateByPrimaryKeySelective(Object param);
	
	/**
	 * 删除的方法，传入对象。
	 * @param id
	 * @return
	 */
	public int deleteByPrimaryKey(Object record);
	
	/**
	 * 根据条件进行查询的方法。
	 * @param param
	 * @param pageBean
	 * @return
	 * @author taojiang add 
	 */
	public List queryBySelective(Object param);
	
	/**
     * 根据查询条件查询数量的方法。
     * @param record
     * @return
     */
    public Integer queryCountBySelective(Object param);
    
    /**
	 *根据ID查询，返回的实体需要强制转换。
	 * @return
	 */
    public BaseEntity selectByEntityId(Object srcRecord);
}
